package com.ruoyi.experiment.service;

import java.util.List;
import com.ruoyi.experiment.domain.CtfExperimentalEnvironment;

/**
 * CTF实验环境Service接口
 * 
 * @author 邓鑫
 * @date 2023-07-29
 */
public interface ICtfExperimentalEnvironmentService 
{
    /**
     * 查询CTF实验环境
     * 
     * @param ctfEnvironmentId CTF实验环境主键
     * @return CTF实验环境
     */
    public CtfExperimentalEnvironment selectCtfExperimentalEnvironmentByCtfEnvironmentId(Long ctfEnvironmentId);

    /**
     * 查询CTF实验环境列表
     * 
     * @param ctfExperimentalEnvironment CTF实验环境
     * @return CTF实验环境集合
     */
    public List<CtfExperimentalEnvironment> selectCtfExperimentalEnvironmentList(CtfExperimentalEnvironment ctfExperimentalEnvironment);

    /**
     * 新增CTF实验环境
     * 
     * @param ctfExperimentalEnvironment CTF实验环境
     * @return 结果
     */
    public int insertCtfExperimentalEnvironment(CtfExperimentalEnvironment ctfExperimentalEnvironment);

    /**
     * 修改CTF实验环境
     * 
     * @param ctfExperimentalEnvironment CTF实验环境
     * @return 结果
     */
    public int updateCtfExperimentalEnvironment(CtfExperimentalEnvironment ctfExperimentalEnvironment);

    /**
     * 批量删除CTF实验环境
     * 
     * @param ctfEnvironmentIds 需要删除的CTF实验环境主键集合
     * @return 结果
     */
    public int deleteCtfExperimentalEnvironmentByCtfEnvironmentIds(Long[] ctfEnvironmentIds);

    /**
     * 删除CTF实验环境信息
     * 
     * @param ctfEnvironmentId CTF实验环境主键
     * @return 结果
     */
    public int deleteCtfExperimentalEnvironmentByCtfEnvironmentId(Long ctfEnvironmentId);

    /**
     * 生成环境实例
     */
    void addExample(Long ctfEnvironmentId);
}
